package com.example.bootdemo.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

@Data
public class Employee {
    private Integer inTimeWeekState;//入职一周提醒是否操作完成，0未完成，1已完成
    private Integer inTimeMonthState;//入职一月状态，0未完成，1已完成
    private Integer inTimeState;//司龄状态，0未完成，1已完成
    private Integer birthdayState;//生日状态
    private Integer contractState; //合同状态

    private String workPlace;
    private String workPlaceComment;

    private String name;
    private String nameComment;

    private String department;
    private String departmentComment;
    private Integer departmentId;


    private String job;
    private String jobComment;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date inTime;
    private String inTimeComment;

    private Integer employeeStatus;
    private String employeeStatusComment;


    private Integer id;


    private String createBy;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

    private Date createTime;


    private String lastUpdateBy;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

    private Date lastUpdateTime;


    private Integer rowState;


    private String qq;
    private String qqComment;


    private Integer age;

    private String ageComment;


    private Integer approvalStatus;


    private Double companyAge;
    private String companyAgeComment;


    private String computer;
    private String computerComment;


    private String contactHr;
    private String contactHrComment;


    private String degreeCertificateNumber;
    private String degreeCertificateNumberComment;


    private String demissionReason;
    private String demissionReasonComment;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date demissionTime;
    private String demissionTimeComment;


    private String educationalBackground;
    private String educationalBackgroundComment;


    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date endContractDate;
    private String endContractDateComment;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")

    private Date endProbationTime;
    private String endProbationTimeComment;


    private String graduationSchool;
    private String graduationSchoolComment;

    @DateTimeFormat(pattern = "yyyy-MM")
    @JsonFormat(pattern = "yyyy-MM")

    private Date graduationTime;
    private String graduationTimeComment;


    private String hrName;
    private String hrNameComment;


    private String idCardAddress;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")

    private Date idCardBirthday;


    private String idCardNumber;
    private String idCardNumberComment;


    private String jobLevel;
    private String jobLevelComment;


    private String jobNumber;


    private String maritalStatus;
    private String maritalStatusComment;


    private String phone;
    private String phoneComment;


    private BigDecimal positiveBasicSalary;


    private BigDecimal positiveMeritPay;


    private BigDecimal positiveProjectWages;


    private String positiveSubsidies;


    private BigDecimal probationBasicSalary;


    private BigDecimal probationMeritPay;


    private BigDecimal probationProjectWages;


    private String probationSubsidies;


    private String otherSubsidies;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")

    private Date realBirthday;


    private String realBirthdayType;
    private String realBirthdayTypeComment;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    //公积金起缴时间
    private Date reserveStartTime;
    //公积金起缴时间批注
    private String reserveStartTimeComment;


    //公积金缴纳单位
    private String reserveStartPlace;
    //公积金起缴单位批注
    private String reserveStartPlaceComment;
    //性别
    private String sex;
    //民族
    private String nation;
    //政治面貌
    private String politicsStatus;
    //工商卡号
    private String icbcCard;
    //工商卡号批注
    private String icbcCardComment;
    //教育信息id
    private Integer educationId;
    //第一毕业证书编号
    private String diplomaNo;
    //第一毕业证书编号批注
    private String diplomaNoComment;
    @DateTimeFormat(pattern = "yyyy-MM")
    @JsonFormat(pattern = "yyyy-MM")
    //第二毕业时间
    private Date secondGraduationTime;
    //第二毕业时间批注
    private String secondGraduationTimeComment;
    //第二毕业院校
    private String secondGraduationSchool;
    //第二毕业院校批注
    private String secondGraduationSchoolComment;
    //第二毕业专业
    private String secondSpecialty;
    //第二毕业专业批注
    private String secondSpecialtyComment;
    //第二毕业学历
    private String secondEducationalBackground;
    //第二毕业学历批注
    private String secondEducationalBackgroundComment;
    //第二毕业证书编号
    private String secondDiplomaNo;
    //第二毕业证书编号批注
    private String secondDiplomaComment;
    //第二毕业学位证书编号
    private String secondDegreeDiplomaNo;
    //第二毕业学位证书编号批注
    private String secondDegreeDiplomaComment;
    //出差公司
    private String assigningCompany;
    //出差公司批注
    private String assigningCompanyComment;
    //资格证书
    private String qualificationCertificate;
    //缴纳地
    private String paymentPlace;
    //缴纳地批注
    private String paymentPlaceComment;

    private String socialInsuranceBz;
    private String socialInsuranceBzComment;


    private String socialInsuranceCurr;
    private String socialInsuranceCurrComment;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")

    private Date socialInsuranceStartTime;
    private String socialInsuranceStartTimeComment;


    private String socialInsurancePlace;
    private String socialInsurancePlaceComment;


    private String specialty;
    private String specialtyComment;


    private String wageCard;
    private String wageCardComment;


    private Integer workYear;
    private String workYearComment;


    private Integer empexId;


    private Integer archivesListId;


    private Integer salaryId;


    private Integer employeeType;


    private String email;


    private String nativePlace;
    private String nativePlaceComment;


    private String liveStatus;
    private String liveStatusComment;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")

    private Date contractSignTime;


    public String getLiveStatusComment() {
        return liveStatusComment;
    }

    public void setLiveStatusComment(String liveStatusComment) {
        this.liveStatusComment = liveStatusComment;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getLastUpdateBy() {
        return lastUpdateBy;
    }

    public void setLastUpdateBy(String lastUpdateBy) {
        this.lastUpdateBy = lastUpdateBy;
    }

    public Date getLastUpdateTime() {
        return lastUpdateTime;
    }

    public void setLastUpdateTime(Date lastUpdateTime) {
        this.lastUpdateTime = lastUpdateTime;
    }

    public Integer getRowState() {
        return rowState;
    }

    public void setRowState(Integer rowState) {
        this.rowState = rowState;
    }

    public String getQq() {
        return qq;
    }

    public void setQq(String qq) {
        this.qq = qq;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public Integer getApprovalStatus() {
        return approvalStatus;
    }

    public void setApprovalStatus(Integer approvalStatus) {
        this.approvalStatus = approvalStatus;
    }

    public Double getCompanyAge() {
        return companyAge;
    }

    public void setCompanyAge(Double companyAge) {
        this.companyAge = companyAge;
    }

    public String getComputer() {
        return computer;
    }

    public void setComputer(String computer) {
        this.computer = computer;
    }

    public String getContactHr() {
        return contactHr;
    }

    public void setContactHr(String contactHr) {
        this.contactHr = contactHr;
    }

    public String getDegreeCertificateNumber() {
        return degreeCertificateNumber;
    }

    public void setDegreeCertificateNumber(String degreeCertificateNumber) {
        this.degreeCertificateNumber = degreeCertificateNumber;
    }

    public String getDemissionReason() {
        return demissionReason;
    }

    public void setDemissionReason(String demissionReason) {
        this.demissionReason = demissionReason;
    }

    public Date getDemissionTime() {
        return demissionTime;
    }

    public void setDemissionTime(Date demissionTime) {
        this.demissionTime = demissionTime;
    }

    public String getEducationalBackground() {
        return educationalBackground;
    }

    public void setEducationalBackground(String educationalBackground) {
        this.educationalBackground = educationalBackground;
    }

    public Integer getEmployeeStatus() {
        return employeeStatus;
    }

    public void setEmployeeStatus(Integer employeeStatus) {
        this.employeeStatus = employeeStatus;
    }

    public void setEmployeeStatus(String employeeStatus) {
        if ("试用".equals(employeeStatus)) {
            this.employeeStatus = 1;
        } else if ("试用-正式".equals(employeeStatus)) {
            this.employeeStatus = 2;
        } else if ("正式".equals(employeeStatus)) {
            this.employeeStatus = 3;
        } else if ("换项".equals(employeeStatus)) {
            this.employeeStatus = 4;
        } else if ("离职".equals(employeeStatus)) {
            this.employeeStatus = 5;
        } else if ("待离职".equals(employeeStatus) || "申请离职".equals(employeeStatus)) {
            this.employeeStatus = 6;
        } else if ("入职".equals(employeeStatus)) {
            this.employeeStatus = 7;
        }
        this.employeeStatus = 0;
    }

    public Date getEndContractDate() {
        return endContractDate;
    }

    public void setEndContractDate(Date endContractDate) {
        this.endContractDate = endContractDate;
    }

    public Date getEndProbationTime() {
        return endProbationTime;
    }

    public void setEndProbationTime(Date endProbationTime) {
        this.endProbationTime = endProbationTime;
    }

    public String getGraduationSchool() {
        return graduationSchool;
    }

    public void setGraduationSchool(String graduationSchool) {
        this.graduationSchool = graduationSchool;
    }

    public Date getGraduationTime() {
        return graduationTime;
    }

    public void setGraduationTime(Date graduationTime) {
        this.graduationTime = graduationTime;
    }

    public String getHrName() {
        return hrName;
    }

    public void setHrName(String hrName) {
        this.hrName = hrName;
    }

    public String getIdCardAddress() {
        return idCardAddress;
    }

    public void setIdCardAddress(String idCardAddress) {
        this.idCardAddress = idCardAddress;
    }

    public Date getIdCardBirthday() {
        return idCardBirthday;
    }

    public void setIdCardBirthday(Date idCardBirthday) {
        this.idCardBirthday = idCardBirthday;
    }

    public String getIdCardNumber() {
        return idCardNumber;
    }

    public void setIdCardNumber(String idCardNumber) {
        this.idCardNumber = idCardNumber;
    }

    public Date getInTime() {
        return inTime;
    }

    public void setInTime(Date inTime) {
        this.inTime = inTime;
    }

    public String getJob() {
        return job;
    }

    public void setJob(String job) {
        this.job = job;
    }

    public String getJobLevel() {
        return jobLevel;
    }

    public void setJobLevel(String jobLevel) {
        this.jobLevel = jobLevel;
    }

    public String getJobNumber() {
        return jobNumber;
    }

    public void setJobNumber(String jobNumber) {
        this.jobNumber = jobNumber;
    }

    public String getMaritalStatus() {
        return maritalStatus;
    }

    public void setMaritalStatus(String maritalStatus) {
        this.maritalStatus = maritalStatus;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public BigDecimal getPositiveBasicSalary() {
        return positiveBasicSalary;
    }

    public void setPositiveBasicSalary(BigDecimal positiveBasicSalary) {
        this.positiveBasicSalary = positiveBasicSalary;
    }

    public BigDecimal getPositiveMeritPay() {
        return positiveMeritPay;
    }

    public void setPositiveMeritPay(BigDecimal positiveMeritPay) {
        this.positiveMeritPay = positiveMeritPay;
    }

    public BigDecimal getPositiveProjectWages() {
        return positiveProjectWages;
    }

    public void setPositiveProjectWages(BigDecimal positiveProjectWages) {
        this.positiveProjectWages = positiveProjectWages;
    }

    public String getPositiveSubsidies() {
        return positiveSubsidies;
    }

    public void setPositiveSubsidies(String positiveSubsidies) {
        this.positiveSubsidies = positiveSubsidies;
    }

    public BigDecimal getProbationBasicSalary() {
        return probationBasicSalary;
    }

    public void setProbationBasicSalary(BigDecimal probationBasicSalary) {
        this.probationBasicSalary = probationBasicSalary;
    }

    public BigDecimal getProbationMeritPay() {
        return probationMeritPay;
    }

    public void setProbationMeritPay(BigDecimal probationMeritPay) {
        this.probationMeritPay = probationMeritPay;
    }

    public BigDecimal getProbationProjectWages() {
        return probationProjectWages;
    }

    public void setProbationProjectWages(BigDecimal probationProjectWages) {
        this.probationProjectWages = probationProjectWages;
    }

    public String getProbationSubsidies() {
        return probationSubsidies;
    }

    public void setProbationSubsidies(String probationSubsidies) {
        this.probationSubsidies = probationSubsidies;
    }

    public String getOtherSubsidies() {
        return otherSubsidies;
    }

    public void setOtherSubsidies(String otherSubsidies) {
        this.otherSubsidies = otherSubsidies;
    }

    public Date getRealBirthday() {
        return realBirthday;
    }

    public void setRealBirthday(Date realBirthday) {
        this.realBirthday = realBirthday;
    }

    public String getRealBirthdayType() {
        return realBirthdayType;
    }

    public void setRealBirthdayType(String realBirthdayType) {
        this.realBirthdayType = realBirthdayType;
    }

    public Date getReserveStartTime() {
        return reserveStartTime;
    }

    public void setReserveStartTime(Date reserveStartTime) {
        this.reserveStartTime = reserveStartTime;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getSocialInsuranceBz() {
        return socialInsuranceBz;
    }

    public void setSocialInsuranceBz(String socialInsuranceBz) {
        this.socialInsuranceBz = socialInsuranceBz;
    }

    public String getSocialInsuranceCurr() {
        return socialInsuranceCurr;
    }

    public void setSocialInsuranceCurr(String socialInsuranceCurr) {
        this.socialInsuranceCurr = socialInsuranceCurr;
    }

    public Date getSocialInsuranceStartTime() {
        return socialInsuranceStartTime;
    }

    public void setSocialInsuranceStartTime(Date socialInsuranceStartTime) {
        this.socialInsuranceStartTime = socialInsuranceStartTime;
    }

    public String getSocialInsurancePlace() {
        return socialInsurancePlace;
    }

    public void setSocialInsurancePlace(String socialInsurancePlace) {
        this.socialInsurancePlace = socialInsurancePlace;
    }

    public String getSpecialty() {
        return specialty;
    }

    public void setSpecialty(String specialty) {
        this.specialty = specialty;
    }

    public String getWageCard() {
        return wageCard;
    }

    public void setWageCard(String wageCard) {
        this.wageCard = wageCard;
    }

    public String getWorkPlace() {
        return workPlace;
    }

    public void setWorkPlace(String workPlace) {
        this.workPlace = workPlace;
    }

    public Integer getWorkYear() {
        return workYear;
    }

    public void setWorkYear(Integer workYear) {
        this.workYear = workYear;
    }

    public Integer getEmpexId() {
        return empexId;
    }

    public void setEmpexId(Integer empexId) {
        this.empexId = empexId;
    }

    public Integer getArchivesListId() {
        return archivesListId;
    }

    public void setArchivesListId(Integer archivesListId) {
        this.archivesListId = archivesListId;
    }

    public Integer getSalaryId() {
        return salaryId;
    }

    public void setSalaryId(Integer salaryId) {
        this.salaryId = salaryId;
    }

    public Integer getEmployeeType() {
        return employeeType;
    }

    public void setEmployeeType(Integer employeeType) {
        this.employeeType = employeeType;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getDepartment() {
        return department;
    }

    public void setDepartment(String department) {
        this.department = department;
    }

    public String getNativePlace() {
        return nativePlace;
    }

    public void setNativePlace(String nativePlace) {
        this.nativePlace = nativePlace;
    }

    public String getLiveStatus() {
        return liveStatus;
    }

    public void setLiveStatus(String liveStatus) {
        this.liveStatus = liveStatus;
    }

    public Date getContractSignTime() {
        return contractSignTime;
    }

    public void setContractSignTime(Date contractSignTime) {
        this.contractSignTime = contractSignTime;
    }


    public String getNameComment() {
        return nameComment;
    }

    public void setNameComment(String nameComment) {
        this.nameComment = nameComment;
    }

    public String getDepartmentComment() {
        return departmentComment;
    }

    public void setDepartmentComment(String departmentComment) {
        this.departmentComment = departmentComment;
    }

    public String getJobComment() {
        return jobComment;
    }

    public void setJobComment(String jobComment) {
        this.jobComment = jobComment;
    }

    public String getInTimeComment() {
        return inTimeComment;
    }

    public void setInTimeComment(String inTimeComment) {
        this.inTimeComment = inTimeComment;
    }

    public String getEmployeeStatusComment() {
        return employeeStatusComment;
    }

    public void setEmployeeStatusComment(String employeeStatusComment) {
        this.employeeStatusComment = employeeStatusComment;
    }

    public String getQqComment() {
        return qqComment;
    }

    public void setQqComment(String qqComment) {
        this.qqComment = qqComment;
    }

    public String getAgeComment() {
        return ageComment;
    }

    public void setAgeComment(String ageComment) {
        this.ageComment = ageComment;
    }

    public String getCompanyAgeComment() {
        return companyAgeComment;
    }

    public void setCompanyAgeComment(String companyAgeComment) {
        this.companyAgeComment = companyAgeComment;
    }

    public String getComputerComment() {
        return computerComment;
    }

    public void setComputerComment(String computerComment) {
        this.computerComment = computerComment;
    }

    public String getContactHrComment() {
        return contactHrComment;
    }

    public void setContactHrComment(String contactHrComment) {
        this.contactHrComment = contactHrComment;
    }

    public String getDegreeCertificateNumberComment() {
        return degreeCertificateNumberComment;
    }

    public void setDegreeCertificateNumberComment(String degreeCertificateNumberComment) {
        this.degreeCertificateNumberComment = degreeCertificateNumberComment;
    }

    public String getEducationalBackgroundComment() {
        return educationalBackgroundComment;
    }

    public void setEducationalBackgroundComment(String educationalBackgroundComment) {
        this.educationalBackgroundComment = educationalBackgroundComment;
    }

    public String getEndContractDateComment() {
        return endContractDateComment;
    }

    public void setEndContractDateComment(String endContractDateComment) {
        this.endContractDateComment = endContractDateComment;
    }

    public String getEndProbationTimeComment() {
        return endProbationTimeComment;
    }

    public void setEndProbationTimeComment(String endProbationTimeComment) {
        this.endProbationTimeComment = endProbationTimeComment;
    }

    public String getGraduationSchoolComment() {
        return graduationSchoolComment;
    }

    public void setGraduationSchoolComment(String graduationSchoolComment) {
        this.graduationSchoolComment = graduationSchoolComment;
    }

    public String getGraduationTimeComment() {
        return graduationTimeComment;
    }

    public void setGraduationTimeComment(String graduationTimeComment) {
        this.graduationTimeComment = graduationTimeComment;
    }

    public String getHrNameComment() {
        return hrNameComment;
    }

    public void setHrNameComment(String hrNameComment) {
        this.hrNameComment = hrNameComment;
    }


    public String getIdCardNumberComment() {
        return idCardNumberComment;
    }

    public void setIdCardNumberComment(String idCardNumberComment) {
        this.idCardNumberComment = idCardNumberComment;
    }

    public String getJobLevelComment() {
        return jobLevelComment;
    }

    public void setJobLevelComment(String jobLevelComment) {
        this.jobLevelComment = jobLevelComment;
    }


    public String getMaritalStatusComment() {
        return maritalStatusComment;
    }

    public void setMaritalStatusComment(String maritalStatusComment) {
        this.maritalStatusComment = maritalStatusComment;
    }

    public String getPhoneComment() {
        return phoneComment;
    }

    public void setPhoneComment(String phoneComment) {
        this.phoneComment = phoneComment;
    }


    public String getReserveStartTimeComment() {
        return reserveStartTimeComment;
    }

    public void setReserveStartTimeComment(String reserveStartTimeComment) {
        this.reserveStartTimeComment = reserveStartTimeComment;
    }


    public String getSocialInsuranceBzComment() {
        return socialInsuranceBzComment;
    }

    public void setSocialInsuranceBzComment(String socialInsuranceBzComment) {
        this.socialInsuranceBzComment = socialInsuranceBzComment;
    }

    public String getSocialInsuranceCurrComment() {
        return socialInsuranceCurrComment;
    }

    public void setSocialInsuranceCurrComment(String socialInsuranceCurrComment) {
        this.socialInsuranceCurrComment = socialInsuranceCurrComment;
    }

    public String getSocialInsuranceStartTimeComment() {
        return socialInsuranceStartTimeComment;
    }

    public void setSocialInsuranceStartTimeComment(String socialInsuranceStartTimeComment) {
        this.socialInsuranceStartTimeComment = socialInsuranceStartTimeComment;
    }

    public String getSpecialtyComment() {
        return specialtyComment;
    }

    public void setSpecialtyComment(String specialtyComment) {
        this.specialtyComment = specialtyComment;
    }

    public String getWageCardComment() {
        return wageCardComment;
    }

    public void setWageCardComment(String wageCardComment) {
        this.wageCardComment = wageCardComment;
    }

    public String getWorkYearComment() {
        return workYearComment;
    }

    public void setWorkYearComment(String workYearComment) {
        this.workYearComment = workYearComment;
    }

    public String getRealBirthdayTypeComment() {
        return realBirthdayTypeComment;
    }

    public void setRealBirthdayTypeComment(String realBirthdayTypeComment) {
        this.realBirthdayTypeComment = realBirthdayTypeComment;
    }

    public String getWorkPlaceComment() {
        return workPlaceComment;
    }

    public void setWorkPlaceComment(String workPlaceComment) {
        this.workPlaceComment = workPlaceComment;
    }

    public String getDemissionReasonComment() {
        return demissionReasonComment;
    }

    public void setDemissionReasonComment(String demissionReasonComment) {
        this.demissionReasonComment = demissionReasonComment;
    }

    public String getDemissionTimeComment() {
        return demissionTimeComment;
    }

    public void setDemissionTimeComment(String demissionTimeComment) {
        this.demissionTimeComment = demissionTimeComment;
    }

    public String getSocialInsurancePlaceComment() {
        return socialInsurancePlaceComment;
    }

    public void setSocialInsurancePlaceComment(String socialInsurancePlaceComment) {
        this.socialInsurancePlaceComment = socialInsurancePlaceComment;
    }

    public String getNativePlaceComment() {
        return nativePlaceComment;
    }

    public void setNativePlaceComment(String nativePlaceComment) {
        this.nativePlaceComment = nativePlaceComment;
    }
}